package stamboom;

import java.util.Iterator;
import java.util.Calendar;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
 *
 * @author 871126
 */
public class AdministratieTest {
    private Administratie adm;
    private Persoon piet, teuntje;
    private Gezin pietEnTeuntje;  
    public AdministratieTest() {
    }

    @BeforeClass
    public static void setUpClass() throws Exception {
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }
    
    @Before
    public void setUp() {
        adm = new Administratie();
        adm.addPersoon(Geslacht.MAN, new String[]{"Piet"}, "Swinkels",
                "", new GregorianCalendar(1950, Calendar.APRIL, 23), null);
        piet  = adm.getPersonen("Swinkels").get(0);
        adm.addPersoon(Geslacht.VROUW, new String[]{"Teuntje"}, "Vries", "de", 
                new GregorianCalendar(1949, Calendar.MAY, 5), null);
        teuntje = adm.getPersonen("Vries").get(0);
        adm.addGezin(piet, teuntje);
        Iterator<Gezin> it = piet.getGezinnen();
        pietEnTeuntje = it.next(); 
        pietEnTeuntje.setHuwelijk(new GregorianCalendar(1970, Calendar.MAY, 23));
    }         
    /**
     * Test of addPersoon method, of class Administratie.
     */
    @Test
    public void testPersonenEnRelaties() {
    }
    
    @Test
    public void testScheiding() {
       assertNull(pietEnTeuntje.getScheiding());
       //scheidingsDatum voor voor huwelijksDatum wordt niet geregistreerd
       pietEnTeuntje.setScheiding(new GregorianCalendar(1970, Calendar.APRIL, 23));
       assertNull(pietEnTeuntje.getScheiding());
       //correcte scheidingsdatum
       GregorianCalendar scheiding = new GregorianCalendar(1974, Calendar.JULY, 2);
       pietEnTeuntje.setScheiding(scheiding);
       assertEquals(scheiding,  pietEnTeuntje.getScheiding());
       //andere scheidingsdatum wordt niet meer geaccepteerd
       pietEnTeuntje.setScheiding(new GregorianCalendar(1975, Calendar.JULY, 2));
       assertEquals(scheiding,  pietEnTeuntje.getScheiding());
    }
    
  
}
